:root {
  /* 颜色 */
  --color-primary: #1677ff;
  --color-bg-gradient-start: #f5f7ff;
  --color-bg-gradient-end: #ffffff;
  --color-title: #1f1f1f;
  --color-subtext: #8c8c8c;

  /* 圆角与阴影 */
  --radius-card: 16px;
  --radius-logo: 8px;
  --shadow-card: 0 8px 24px rgba(0, 0, 0, 0.06);

  /* 尺寸与间距 */
  --card-width: 420px;
  --space-md: 24px;
  --space-sm: 12px;
}

/* 未来可根据 Figma 设计变量同步这些值，以达到像素级还原 */
.u-primary-color {
  color: #073781;
}

.u-pointer {
  cursor: pointer;
}

.u-flex {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.u-flex-wrap {
  flex-wrap: wrap;
}

.u-flex-nowrap {
  flex-wrap: nowrap;
}

.u-flex-1 {
  flex: 1;
  overflow: hidden;
}

.u-flex-2 {
  flex: 2;
  overflow: hidden;
}

.u-flex-3 {
  flex: 3;
  overflow: hidden;
}

.u-col-center {
  align-items: center;
}

.u-col-top {
  align-items: flex-start;
}

.u-col-bottom {
  align-items: flex-end;
}

.u-row-center {
  justify-content: center;
}

.u-row-left {
  justify-content: flex-start;
}

.u-row-right {
  justify-content: flex-end;
}

.u-row-between {
  justify-content: space-between;
}

.u-row-around {
  justify-content: space-around;
}

.u-text-left {
  text-align: left;
}

.u-text-center {
  text-align: center;
}

.u-text-right {
  text-align: right;
}

.u-line-1 {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.u-line-2 {
  -webkit-line-clamp: 2;
}

.u-line-3 {
  -webkit-line-clamp: 3;
}

.u-line-4 {
  -webkit-line-clamp: 4;
}

.u-line-5 {
  -webkit-line-clamp: 5;
}

.u-line-2,
.u-line-3,
.u-line-4,
.u-line-5 {
  overflow: hidden;
  word-break: break-all;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
}